import { createStore } from 'vuex'

import createPersistedstate from 'vuex-persistedstate'

import user from './modules/user'
import cart from './modules/cart'
import category from './modules/category'

export default createStore({
	state: {},
	mutations: {},
	actions: {},
	getters: {},
	modules: { user, cart, category },
	//  配置插件
	plugins: [
		// 将本地存储的数据持久化到store中  默认 localStorage
		createPersistedstate({
			// 本地存储的名字
			key: 'eRabbit-client-pc',
			// 更改默认存储方式
			// storage: window.sessionStorage,
			// 指定存储的模块  category每次页面刷新都重新获取 不需要存储
			paths: ['user', 'cart'],
			// 要存储的数据：本项目采用es6扩展运算符的方式存储了state中所有的数据
			// render(state) {
			// 	return { ...state }
			// },
		}),
	],
})
